package com.hengpeng.itfints.service.activity;

import java.util.List;

import com.hengpeng.common.exception.ServiceResult;
import com.hengpeng.itfinbase.en.RewardRebateStatus;
import com.hengpeng.itfinbase.en.RewardRedPacketStatus;
import com.hengpeng.itfinbase.persist.RewardRebate;
import com.hengpeng.itfints.controller.activity.vo.RewardRedpacketVo;

/**
 * 活动service(返利，红包)
 * @author lugaofei 20151026
 *
 */
public interface ActivityService {
    /**
     * 根据返利状态查找返利列表
     * @param userId
     * @param status
     * @param curPage
     * @param pageSize
     * @param startTime
     * @param endTime
     * @return
     */
    public ServiceResult<List<RewardRebate>> findRewardRebateByStatus(Long userId,RewardRebateStatus status,int curPage,int pageSize,String startTime,String endTime);
    
    /**
     * 查询红包
     * @param userId
     * @param status
     * @param curPage
     * @param pageSize
     * @return
     */
    public ServiceResult<List<RewardRedpacketVo>> findRewardRedpacket(Long userId,RewardRedPacketStatus status,int curPage,int pageSize);
    /**
     * 根据红包类型、红包状态查询红包列表
     * @param userId
     * @param status
     * @param curPage
     * @param pageSize
     * @return
     */
    public ServiceResult<List<RewardRedpacketVo>> findRegRedpacketByStatus(Long userId,int type,RewardRedPacketStatus rewardRedPacketStatus,int curPage,int pageSize);
    
    
    /**
     * 根据用户ID、不同状态获取红包总额
     * @param userId
     * @param stastus
     * @return
     */
    String getRegRedpacketTotalAmountByUserNameAndStatus(long userId, RewardRedPacketStatus[] stastus);
    
}
